There has been an unprecedented increase in the number of commercial and financial transactions being conducted online using, for example, mobile devices such as cellular telephones, PDAs, and laptop computers. For example, a user may purchase or sell a product or service, barter, exchange, set up an auction, open, maintain, or administer an account with a financial institution, or conduct any number of other types of business transactions online and from a mobile device. There have also been a variety of techniques developed to secure these transactions. For example, various encryption and authentication protocols exist that offer reliably strong security and/or authentication. These protocols typically offer this increased security at the cost of increased administration, increased processing requirements, and decreased convenience to the user, such as the need for complicated setup and user configuration to support protocols for encryption, authentication, or both.
Security in a mobile setting has been studied and simulated. Encryption of the data in motion is one way of securing wireless communications. For example, Wi-Fi Protected Access (“WPA”) or Wired Equivalent Privacy (“WEP”) can be used for encryption of data in a mobile setting. As an example, U.S. Pat. No. 7,721,325 to Lee et al. describes a scheme for secure wireless communications. In this scheme, a station that wants to associate itself in a wireless network that has an access point generates a first key, and the access point generates a second key. A security key is generated as a function of the first key, the second key, a third key, and an initial key. The third key generation information and the security key are sent to the station. The station may then use the key generation information and the security key for communications within the network.
As another example, U.S. Pat. No. 7,457,409 to Lin et al. describes another scheme for secure communications in a wireless network. In this scheme, a host processing unit maintains multiple queues, and the networking module has an arbiter and a security engine. The arbiter decides which queue will be serviced next. The security engine fetches data from the queue chosen by the arbiter and encrypts or decrypts the data using a cipher.
Standards supporting strong authentication in addition to encryption are now being developed. One such industry initiative is called OATH for Open AuTHentication. EMV is another standard advanced by Europay, Mastercard, and Visa for authenticating credit and debit card transactions. This standard supports interoperation of chip cards, POS terminals, ATMs, etc. One-Time Passwords (“OTPs”) may be used to secure the transactions. An OTP may include a token or code that can be used for a single transaction or part of a transaction, and thus used once. After every use, the OTP may change to a new value. An OTP can be a function of an encryption key or some other shared secret, and one or more other factors such as time, transaction details, a unique user identifier, location, etc.
The OATH proponents have realized that some applications would benefit from an asynchronous authentication system, such as a challenge-response (“CR”) scheme, and thus have proposed the OATH Challenge Response Algorithm (“OCRA”). In a basic CR scheme, one party, such as a server that a client is trying to access, presents another party, the client, with a question or challenge. The queried party must provide a valid response to the question in order to be successfully authenticated and allowed access to the system or one of its resources. To address the insecure channel problem, many cryptographic solutions involve two-way authentication, where both the user and the system must each convince the other that they know a shared secret, such as a password, without this secret ever being transmitted clearly over the communication channel, where eavesdroppers might intercept the shared secret.
Most CR protocols used for authentication using mobile devices involve a user inputting a challenge into an application running on a mobile device. The challenge is typically between 8 and 16 bytes in length and may take the form of a string of characters, a word, or a short phrase. After the user inputs the challenge data into the mobile device, the application may generate the appropriate response. Entry of this challenge data, however, into the mobile device is often an error-prone and time-intensive task. This task may also be quite inconvenient or sometimes practically infeasible for the user. For example, a user may wish to initiate an immediate real-time transaction; however, the user may not be able to input the challenge quickly enough in order to execute the transaction. As another example, a user may mistype the challenge data, resulting in an invalid response, and hence a failed authentication attempt that requires the user to restart the CR process all over again. What is needed are novel ways of performing authentication in a mobile network.